package com.suray.system.run.seer.task;

import java.util.Set;

public interface SeerAgvTask {

    /**
     * 生成Agv移货任务
     * @param startPoint:AGV点位
     * @param endPoint:AGV点位
     * @return
     */
    boolean generalAgvTransTask(String startPoint, String endPoint);

    /**
     * 生成Agv移货任务
     * @param startPoint:AGV点位
     * @param endPoint:AGV点位
     * @param barcode
     * @return
     */
    boolean generalAgvTransTask(String startPoint, String endPoint, String barcode);

    /**
     * 锁定点位
     * @param points
     * @param obj
     * @return
     */
    boolean lockPoints(Set<String> points, Object obj);

    /**
     * 释放点位
     * @param points
     * @param obj
     * @return
     */
    boolean releasePoints(Set<String> points, Object obj);

    /**
     * 查看点位是否被obj锁定
     * @param points
     * @param obj
     * @return:返回被obj锁定的点位数量
     */
    int checkLockPoints(Set<String> points, Object obj);
}
